--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
tests/frontend/setup.js 059d2cbdc100fcb9dd6f7749056a8ca676ab3eba (059d2cbd) Text, 2.99 KB
Tff7b72import Tb4b4b4{ Te6edf3vi Tb4b4b4} Tff7b72from Ta5d6ff"vitest"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3config Tb4b4b4} Tff7b72from Ta5d6ff"@vue/test-utils"Tb4b4b4;
Tff7b72import Te6edf3createDOMPurify Tff7b72from Ta5d6ff"dompurify"Tb4b4b4;
T8b949e// Initialize DOMPurify with the jsdom window
Tff7b72let Te6edf3DOMPurifyTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3createDOMPurify Tff7b72=== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
Te6edf3DOMPurify Tff7b72= Te6edf3createDOMPurifyTb4b4b4(Tffa657windowTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3createDOMPurify Tff7b72&& Tff7b72typeof Te6edf3createDOMPurifyTb4b4b4.Tff7b72default Tff7b72=== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
Te6edf3DOMPurify Tff7b72= Te6edf3createDOMPurifyTb4b4b4.Tff7b72defaultTb4b4b4(Tffa657windowTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3DOMPurify Tff7b72= Te6edf3createDOMPurifyTb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to initialize DOMPurify:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// Global mocks
Tff7b72if Tb4b4b4(Te6edf3DOMPurifyTb4b4b4) Tb4b4b4{
Tffa657globalTb4b4b4.Te6edf3DOMPurify Tff7b72= Te6edf3DOMPurifyTb4b4b4;
Tffa657windowTb4b4b4.Te6edf3DOMPurify Tff7b72= Te6edf3DOMPurifyTb4b4b4;
Tb4b4b4}
Tffa657globalTb4b4b4.Te6edf3performanceTb4b4b4.Te6edf3mark Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657globalTb4b4b4.Te6edf3performanceTb4b4b4.Te6edf3measure Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657globalTb4b4b4.Te6edf3performanceTb4b4b4.Te6edf3getEntriesByName Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4[Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tffa657globalTb4b4b4.Te6edf3performanceTb4b4b4.Te6edf3clearMarks Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657globalTb4b4b4.Te6edf3performanceTb4b4b4.Te6edf3clearMeasures Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// Mock window.api by default to prevent TypeErrors
Tffa657globalTb4b4b4.Te6edf3api Tff7b72= Tb4b4b4{
Te6edf3getTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3postTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3putTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3patchTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tff7b72deleteTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3isCancelTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3mockReturnValueTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tffa657windowTb4b4b4.Te6edf3api Tff7b72= Tffa657globalTb4b4b4.Te6edf3apiTb4b4b4;
T8b949e// Stub all Vuetify components to avoid warnings and CSS issues
Te6edf3configTb4b4b4.Tffa657globalTb4b4b4.Te6edf3stubs Tff7b72= Tb4b4b4{
Te6edf3MaterialDesignIconTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff'<div class="mdi-stub"><slot /></div>' Tb4b4b4}Tb4b4b4,
Te6edf3RouterLinkTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<a><slot /></a>" Tb4b4b4}Tb4b4b4,
Te6edf3RouterViewTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div><slot /></div>" Tb4b4b4}Tb4b4b4,
T8b949e// Common Vuetify components
Ta5d6ff"v-app"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-main"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-container"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-row"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-col"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-btn"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-icon"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-card"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-card-title"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-card-text"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-card-actions"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-dialog"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-text-field"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-textarea"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-select"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-switch"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-checkbox"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-list"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-list-item"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-list-item-title"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-list-item-subtitle"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-menu"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-divider"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-spacer"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-progress-circular"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-progress-linear"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-tabs"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-tab"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-window"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-window-item"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-expansion-panels"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-expansion-panel"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-expansion-panel-title"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-expansion-panel-text"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-chip"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-toolbar"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-toolbar-title"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-tooltip"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-alert"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-snackbar"Tff7b72: Tff7b72trueTb4b4b4,
Ta5d6ff"v-badge"Tff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4;
T8b949e// Mock window.matchMedia
Tffa657ObjectTb4b4b4.Te6edf3definePropertyTb4b4b4(Tffa657windowTb4b4b4, Ta5d6ff"matchMedia"Tb4b4b4, Tb4b4b4{
Te6edf3writableTff7b72: Tff7b72trueTb4b4b4,
Te6edf3valueTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3mockImplementationTb4b4b4(Tb4b4b4(Te6edf3queryTb4b4b4) Tb4b4b4=> Tb4b4b4(Tb4b4b4{
Te6edf3matchesTff7b72: Tff7b72falseTb4b4b4,
Te6edf3mediaTff7b72: Te6edf3queryTb4b4b4,
Te6edf3onchangeTff7b72: Tff7b72nullTb4b4b4,
Te6edf3addListenerTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4, T8b949e// deprecated
Te6edf3removeListenerTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4, T8b949e// deprecated
Te6edf3addEventListenerTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3removeEventListenerTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3dispatchEventTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────